home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / win_i_l / incx101b.zip / INC-PROG.LZH / HELP.LZH / MCA.HLP < prev    next >
Text File  |  1991-07-17  |  37KB  |  594 lines

  1. mca
  2.  Help information about: Actions
  3.  ^Editing
  4.  
  5.               E╔════════════════════════════════════════════════╗
  6.               E║                    CActionsE                     ║
  7.               E╚════════════════════════════════════════════════╝
  8.  
  9.  
  10.  CUsing Action Lists
  11.  
  12.    When you're using InContext, you are always in a directory, and focussing
  13.    on one or more objects.  You may have selected a single object, or your
  14.    focus may be a group of objects selected by class or view, or even the
  15.    entire set of objects in the directory.
  16.  
  17.    InContext always presents you with a list of CActionsB appropriate to the
  18.    object or objects on which you're focussing.  Most users will find it
  19.    convenient to have these actions shown on the main display, but this is
  20.    under your control.  Actions shown on the main display look like this:
  21.  
  22.                         E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  23.                         E█A                         A  E█
  24.                         E█A  B                       A  E█
  25.                         E█A  EsB   EObjectsB   EActionsB  A  E█
  26.                         E█A  B  admnnot.doc Edit     A  E█
  27.                         E█A  B  afhsmin.doc ViewYB     A  E█
  28.                         E█A  B C afhsnot.docB Archive  A  E█
  29.                         E█A  B   bksale.doc Copy     A  E█
  30.                         E█A  B bull8608.doc Delete   A  E█
  31.                         E█A  B   edcord.doc Print    A  E█
  32.                         E█A  B floodord.doc Rename   A  E█
  33.                         E█A  B  lwvbylw.doc Take     A  E█
  34.                         E█A  B  miscrep.doc Look-fmt A  E█
  35.                         E█A  B  orchpiz.doc Spellchk A  E█
  36.                         E█A  B ordattle.doc          A  E█
  37.                         E█A                         A  E█
  38.                         E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  39.  
  40.    Regardless of whether or not you choose to show the actions on the main
  41.    display, they are available to you via the F ADction B Command.  Selecting
  42.    it produces a display like the following:
  43.  
  44.         E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  45.         E█A                                                         A  E█
  46.         E█A  B CDocumentB  EClass:B CALLB   EObject:B Cafhsnot.doc B   ETask:B CpaA  E█
  47.         E█A  E──────────────────────────────G  Action    E─────────────A  E█
  48.         E█A  B   G  All Actions of Class "doc"       FªEDdit  FªHDelpG  B   A  E█
  49.         E█A  B   E│B                                               E│AbdEiA  E█
  50.         E█A  E.B E │B EBrief NameB     EYour DescriptionB               E│ANCBIA  E█
  51.         E█A  E.B  E│B  Edit         Edit using BRIEF editor         E│AADBSA  E█
  52.         E█A  E.B  E│B  ViewYB         View using internal viewer      E│A  B A  E█
  53.         E█A  E.B  E│B  Archive      Add object to an archive        E│A  B A  E█
  54.         E█A  E.B  E│B  Copy         Make a copy of the object       E│A  B A  E█
  55.         E█A  E.B  E│B  Delete       Delete object, after verif      E│A  B A  E█
  56.         E█A  E.B  E│B  Print        Print using WORDIX formatter    E│A  B A  E█
  57.         E█A  E.B  E│B  Rename       Rename the object               E│A  B A  E█
  58.         E█A  E.B  E│B  Take         Take object along as you move   E│A  B A  E█
  59.         E█A  E.B  E│B  Look-fmt     Preview formatted output        E│A  B A  E█
  60.         E█A  E.B  E│B  Spellchk     Check spelling using SPELLIX    E│A  B A  E█
  61.         E█A  E.B  E│B                                               E│A  B A  E█
  62.         E█A                                                         A  E█
  63.         E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  64.  
  65.    To perform one of these actions, simply select it with the mouse or
  66.    keyboard.
  67.  
  68.    The action list varies, depending on the focus.  For example, the figure
  69.    above shows a possible action list for a document (i.e., for an object
  70.    of class "doc").  While the details will vary with your particular
  71.    situation, this list assumes that documents are ASCII text files that are
  72.    edited using the BRIEF editor, formatted and printed using the WORDIX
  73.    formatter, and that the SPELLIX spelling checker can be used to check
  74.    their spelling.
  75.  
  76.    A different set of actions would obviously apply if the object were not a
  77.    document.  For example, if an executable program, such as the MS-DOS
  78.    utility "chkdsk.com", is selected, the list might include such actions
  79.    as these:
  80.  
  81.                         E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  82.                         E█A                         A  E█
  83.                         E█A  B                       A  E█
  84.                         E█A  EsB   EObjectsB   EActionsB  A  E█
  85.                         E█A  B   backup.com view     A  E█
  86.                         E█A  B C  chkdsk.comB copy     A  E█
  87.                         E█A  B  command.com rename   A  E█
  88.                         E█A  B     comp.com delete   A  E█
  89.                         E█A  B diskcopy.com yank     A  E█
  90.                         E█A  B    edlin.com rYBun      A  E█
  91.                         E█A  B    fdisk.com          A  E█
  92.                         E█A                         A  E█
  93.                         E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  94.  
  95.    Obviously, it would be inappropriate to try to check the spelling of this
  96.    executable program, or to try to print it, so those actions don't appear
  97.    when an object of class "com" is selected.  The program CcanB be
  98.    executed, though, so the action "run" is among those shown.
  99.  
  100.  CHow Do Action Definitions Work?
  101.  
  102.    A lot of power in InContext results from your ability to define the
  103.    action lists yourself.  This is a somewhat more advanced topic than the
  104.    CuseB of those action lists, and it is separately discussed.  For
  105.    information on how to define your own actions, see
  106.  ZmcaeB  CJ Editing the Action Definitions CB.
  107.  
  108.    Basically, each action definition consists of an action CnameB (e.g.,
  109.    "edit"), an action CdescriptionB (e.g., "Edit spreadsheet with 1-2-3"), and
  110.    a CprocedureB, that specifies what is to happen when the action is selected.
  111.    You've seen the name and description on the main display and the Action
  112.    display.  The procedure is visible only when you edit the action.
  113.  
  114.    Briefly, the CprocedureB is much like an MS-DOS Cbatch fileB, though it can
  115.    contain commands in an InContext procedure language as well as MS-DOS
  116.    commands.  The MS-DOS commands can execute other programs or perform
  117.    MS-DOS-internal operations like file copying and renaming.  The additional
  118.    InContext commands allow queries to the user, menus, etc.  This subject is
  119.    discussed extensively in the "Editing the Action Definitions" section
  120.    mentioned above.
  121.  
  122.  CWhat Actions Are Applicable to a Particular Object or Group?
  123.  
  124.    Behind the scenes, there are actually several different action lists that
  125.    determine what actions are available under particular circumstances:
  126.  
  127.         CB The CgroupB action list determines what actions can be performed
  128.           on a group of objects.
  129.  
  130.         CB The CcommonB action list applies to all single objects, regardless
  131.           of class.  The common list includes actions like "copy", "delete",
  132.           and "rename", which pretty much mean the same thing for all objects.
  133.  
  134.         CB The CclassB action list defines the actions that can be performed on
  135.           a single object of a specified class.  These actions are in
  136.           addition to the common actions, though they may also override or
  137.           cancel those actions.
  138.  
  139.    The figure below illustrates graphically how these action lists apply to
  140.    different situations.
  141.  
  142.                 group
  143.                E┌──────D group actions B
  144.    if focus is E│B                                    known
  145.    E────────────┤                                   ┌────────D class actions B
  146.                E│B                      and class is E│
  147.                E└──────D common actions E─────────────┤
  148.                 object                             E│ 
  149.                                                    E└────────
  150.                                                     unknown
  151.  
  152.    These action lists will now be discussed separately.
  153.  
  154.  CCommon Action List
  155.  
  156.    The CcommonB action list contains those actions that apply to single
  157.    objects, regardless of class.  These actions can be overridden by the
  158.    action list of an individual class, but for the most part, this list
  159.    should contain those actions that apply uniformly to all objects.  Like
  160.    all the action lists, this list is under CyourB control, and can be
  161.    changed to suit your needs.  As issued by Rams' Island Software, though,
  162.    this list contains the following actions:
  163.  
  164.         CeditB      In the common action list, this action asks the user to
  165.                   verify that the object is an ASCII text file.  If the user
  166.                   says "no", the procedure is aborted, while a "yes" answer
  167.                   invokes the preferred text editor (possibly the internal
  168.                   editor) on the object.  Whenever you create an action list
  169.                   for a specific class, you will want to override this action
  170.                   by defining an "edit" action there.  An action definition
  171.                   there which lacks a procedure would cause "edit" not to
  172.                   appear on the displayed action list at all.
  173.  
  174.         CviewB      This action allows any object to be viewed, without
  175.                   possibility of modification.  As currently provided, this
  176.                   action uses InContext's internal viewer.  If you prefer to
  177.                   use another viewer, such as Vern Buerg's LIST program, you
  178.                   can redefine this action.  In any event, this action should
  179.                   be overridden in individual class definitions when
  180.                   appropriate.  Thus, to "view" a graphical image, an
  181.                   appropriate image viewer should be used, rather than a text
  182.                   or hex viewer.
  183.  
  184.         CarchiveB   This action asks the user for the name of an LHA
  185.                   archive, and adds the selected object to that archive.
  186.                   A pause occurs to allow the user to verify (by reading the
  187.                   output of LHA) that the operation was successful.  Then
  188.                   the user is given an opportunity to delete the selected
  189.                   object.
  190.  
  191.         CcopyB      This action invokes an internal file copy operation,
  192.                   after asking the user for a destination.  You may also
  193.                   copy or move objects with the "take" and "put-obj" actions
  194.                   (see "take", below).
  195.  
  196.         CdeleteB    This action allows you to delete an object, after a
  197.                   verification step to give you a chance to change your mind
  198.                   or to avoid accidental deletion.
  199.  
  200.         CprintB     In the common action list, this action asks the user to
  201.                   verify that the object is an ASCII text file.  If the user
  202.                   says "no", the procedure is aborted, while a "yes" answer
  203.                   invokes the normal DOS print command on the object.
  204.                   Whenever you create an action list for a specific class,
  205.                   you will want to override this action by defining a "print"
  206.                   action there.
  207.  
  208.         CrenameB    This action allows you to rename a file.  In doing so,
  209.                   you are free to change its filename prefix and/or its
  210.                   class, if appropriate.
  211.  
  212.         CtakeB      This action allows you to pick up an object and carry it
  213.                   with you as you move to another directory.  If you are
  214.                   carrying an object, a "put-obj" action is added to the list
  215.                   of actions available to you.  If you select the "put-obj"
  216.                   action, you will be asked whether you want to move it there
  217.                   or make a copy there, and the requested operation will be
  218.                   performed.  If you "take" an object and never "put" it
  219.                   anywhere, no damage is done; it remains in its original
  220.                   place.
  221.  
  222.  CThe Action List for an Individual Class
  223.  
  224.    You may define whatever actions you like for an individual class.  In
  225.    addition to adding actions not already defined in the common action list,
  226.    a CclassB action list can undefine or redefine the actions that are on
  227.    that list.  This gives you considerable flexibility.
  228.  
  229.    Many class action lists will define the "edit" and "view" operations in
  230.    some special way, overriding whatever definition might have been
  231.    inherited from the common action list.  For example, the Lotus 2.0
  232.    spreadsheet class, "wk1", might be edited using Lotus 1-2-3, and might
  233.    have no separate view operation.
  234.  
  235.  CThe Group Action List
  236.  
  237.    The CgroupB action list defines the actions that can be performed on a
  238.    group of objects.  Such a group is always confined to the current
  239.    directory, but may consist of all the objects in the directory, or only
  240.    those in a particular view or class.  Initially, the actions defined in
  241.    the group action list include:
  242.  
  243.         Cedit-allB  This action allows you to edit a group of objects.  It is
  244.                   initially set up to use the internal InContext editor,
  245.                   which does CnotB currently have a multiple-file
  246.                   capability.  It therefore allows you to edit the objects
  247.                   sequentially, one after another.  If you have a text
  248.                   editor with multiple-file capability, you will undoubtedly
  249.                   want to change this action's definition to make use of it.
  250.   
  251.         Cview-allB  This action allows you to view a group of objects, if your
  252.                   initially set up to use the internal InContext viewer,
  253.                   which does CnotB currently have a multiple-file
  254.                   capability.  It therefore allows you to view the objects
  255.                   sequentially, one after another.  If you have a text
  256.                   viewer with multiple-file capability (such as LIST), you
  257.                   will undoubtedly want to change this action's definition
  258.                   to make use of it.
  259.  
  260.         Ccopy-allB  This action asks you where you want the objects copied,
  261.                   and does an ordinary MS-DOS file copy operation.  At
  262.                   present, no protection is offerred to insure that enough
  263.                   space exists at the destination, so you should always check
  264.                   after the operation to insure that all files were copied.
  265.  
  266.         Cdel-allB   This action deletes all the objects, either one at a
  267.                   time (with individual verification) or as a group, if you
  268.                   specify that.
  269.  
  270.         Carc-allB   This action adds the objects to a specified archive,
  271.                   using the public-domain archive/compression program LHA.
  272. mcae
  273.  Help information about: Editing the Action Definitions
  274.  ^Language ^Macros
  275.  
  276.               E╔════════════════════════════════════════════════╗
  277.               E║         CEditing the Action DefinitionsE         ║
  278.               E╚════════════════════════════════════════════════╝
  279.  
  280.  
  281.    To change the action definitions, select the Action display.  You will
  282.    see the F EDdit B command on the command bar, as shown below.  Select that.
  283.    (You may also select Edit by pressing function key F2.)
  284.  
  285.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  286.            E█A                                                   A  E█
  287.            E█A  E───────────────────────────G  Action    E──────────A  E█
  288.            E█A  G  All Actions of Class "txt"       FªEDdYDit  FªHDelpG  A  E█
  289.            E█A  E│B                                               E│A  E█
  290.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  291.            E█A  E│B  Edit         Edit using preferred editor     E│A  E█
  292.            E█A  E│B  View         View using internal viewer      E│A  E█
  293.            E█A  E│B  Archive      Add object to an archive        E│A  E█
  294.            E█A  E│B  Copy         Make a copy of the object       E│A  E█
  295.            E█A  E│B  Delete       Delete object, after verif      E│A  E█
  296.            E█A  E│B  Print        Print, standard size            E│A  E█
  297.            E█A  E│B  Rename       Rename the object               E│A  E█
  298.            E█A                                                   A  E█
  299.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  300.  
  301.    This will cause a window to be popped up over the current action list,
  302.    allowing you to specify which action list you want to edit.  The display
  303.    you'll see looks like the following.
  304.  
  305.   E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  306.   E█A                                                                     A  E█
  307.   E█A  E────────────────────────────────────────G  Action    E───────────────A  E█
  308.   E█A  B             G  All Actions of Class "txt"       FªEDdit  FªHDelpG  B     A  E█
  309.   E█A  B     EHoursB   E│B                                               E│AbdEirsA  E█
  310.   E█A  JedcB E12a....B E │B EBrief NameB     EYour DescriptionB               E│ACEB   A  E█
  311.   E█A  Bocs E 1 ....B  E│B  Edit         Edit using preferred editor     E│A  B   A  E█
  312.   E█A  Brs  E 2 ....B  E│B  View         View using internal viewer      E│AEFB   A  E█
  313.   E█A  Bst  E 3 ....B  E│B  Archive      Add object to an archive        E│AISB   A  E█
  314.   E█A  B    E 4 ....B  E│B  Copy         Make a copy of the object       E│AS B   A  E█
  315.   E█A  B    E 5 ....B  E│B  Delete       Delete object, after verif      E│A  B   A  E█
  316.   E█A  B    E 6 ....B  E│B  Print        Print, standard size            E│A  B   A  E█
  317.   E█A  B    E 7 ....B  E│B  Rename       Rename the object               E│ATSB   A  E█
  318.   E█A  B G  Which action set do you want to edit?                        B   A  E█
  319.   E█A  B E│ CAYBction definition for this class                           E │AICBSA  E█
  320.   E█A  B E│ CCBommon actions applicable to all classes                   E │A  B A  E█
  321.   E█A  B E│ CGBrouped-object actions applicable to whole views or classesE │A  B A  E█
  322.   E█A  B E│ CMBacro action definitions useable in all of the above       E │AT B A  E█
  323.   E█A  B E└─────────────────────────────────────────────────────────────┘A2 B A  E█
  324.   E█A  B   A  2 ....A  │A                                               │ALUDEB A  E█
  325.   E█A  B    E 3 C....B  E│B                                               E│AONBTXTA  E█
  326.   E█A                                                                     A  E█
  327.   E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  328.  
  329.    If you haven't yet read about the different action lists, you should do
  330.  ZmcaB  so before continuing here.  See CJ Actions CB.
  331.  
  332.    For purposes of the following discussion, let's assume we want to add a
  333.    simple "word count" command which will apply to objects of the "txt"
  334.    (text) class.  Let's suppose, further, that you have available a program,
  335.    called "wc", which takes a file name as an argument and writes to the
  336.    screen a count of the number of words contained in the file.  This example
  337.    is perhaps artificially simple, but it will allow us to discuss the basics
  338.    of action definition editing before covering the details of the InContext
  339.    procedure language that you might use in defining fancier procedures.
  340.  
  341.    Since we want the "word count" action to apply only to objects of the
  342.    "txt" class, the correct choice above is "Action definition for this
  343.    class".  Selecting that might produce a display like the following.
  344.  
  345.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  346.            E█A                                                   A  E█
  347.            E█A  E───────────────────────────G  Action    E──────────A  E█
  348.            E█A  G  Editing Actions for 'txt' Class         FªHDelpG  A  E█
  349.            E█A  E│B                                               E│A  E█
  350.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  351.            E█A  E│B  YIDescriptB     I                              B  E│A  E█
  352.            E█A  E│B                                               E│A  E█
  353.            E█A                                                   A  E█
  354.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  355.  
  356.    To get a little extra instructional value out of the example, we will
  357.    assume that the "txt" class is currently undefined.  In that case, you
  358.    would see a display like that above.
  359.  
  360.    The first thing you should do when editing the action list for a new class
  361.    is to provide a meaningful text description of the class.  This is simply
  362.    placed in the "Your Description" space corresponding to "Descrip".
  363.  
  364.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  365.            E█A                                                   A  E█
  366.            E█A  E───────────────────────────G  Action    E──────────A  E█
  367.            E█A  G  Editing Actions for 'txt' Class         FªHDelpG  A  E█
  368.            E█A  E│B                                               E│A  E█
  369.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  370.            E█A  E│B  IDescriptB     IASCII Text FileYI               B  E│A  E█
  371.            E█A  E│B                                               E│A  E█
  372.            E█A                                                   A  E█
  373.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  374.  
  375.    Now we're ready to add the "word count" action.  By placing the cursor on
  376.    the line after which we want to add the new action, and pressing ENTER,
  377.    we create space for the new action.  Filling in the resulting blanks, we
  378.    we arrive at the following display:
  379.  
  380.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  381.            E█A                                                   A  E█
  382.            E█A  E───────────────────────────G  Action    E──────────A  E█
  383.            E█A  G  Editing Actions for 'txt' Class         FªHDelpG  A  E█
  384.            E█A  E│B                                               E│A  E█
  385.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  386.            E█A  E│B  IDescriptB     IASCII Text File               B  E│A  E█
  387.            E█A  E│B  IWord-cntB     IDisplay word count on screenYI  B  E│A  E█
  388.            E█A  E│B                                               E│A  E█
  389.            E█A                                                   A  E█
  390.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  391.  
  392.    Now, with the cursor still on the "word count" line, we can edit the
  393.    underlying CprocedureB by selecting F EDdit B again, or by simply pressing the
  394.    left mouse button.  The result is the invocation of the text editor on
  395.    an initially empty procedure definition:
  396.  
  397.      E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  398.      E█A                                                               A  E█
  399.      E█A  E┌──────────────────────────────────────────────G  Action    E──A  E█
  400.      E█A  E│B                   G  Editing Actions for 'txt' Class        A  E█
  401.      E█A  G  Editing Definition of "Word-cnt"                FªSDearch/FªNDeA  E█
  402.      E█A  E│YB                                                            A  E█
  403.      E█A  E│B                                                            A  E█
  404.      E█A  E│B                                                            A  E█
  405.      E█A  E│B                                                            A  E█
  406.      E█A  E│B                                                            A  E█
  407.      E█A                                                               A  E█
  408.      E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  409.  
  410.    Now all that's necessary is to enter the procedure.  For this simple
  411.    example, an appropriate procedure definition is:
  412.  
  413.      E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  414.      E█A                                                               A  E█
  415.      E█A  E┌──────────────────────────────────────────────G  Action    E──A  E█
  416.      E█A  E│B                   G  Editing Actions for 'txt' Class        A  E█
  417.      E█A  G  Editing Definition of "Word-cnt"                FªSDearch/FªNDeA  E█
  418.      E█A  E│Bwc %f                                                       A  E█
  419.      E█A  E│B!pauseYB                                                      A  E█
  420.      E█A  E│B                                                            A  E█
  421.      E█A  E│B                                                            A  E█
  422.      E█A  E│B                                                            A  E█
  423.      E█A                                                               A  E█
  424.      E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  425.  
  426.    The first line of this procedure is an ordinary MS-DOS command, except
  427.    that the characters "%f" will be replaced by the filename of the selected
  428.    object.  The second line is an internal "!pause" command to allow us to
  429.    view the result before returning to the InContext main display.  These
  430.    commands are discussed in more detail in the help information for the
  431.  ZmcaelB  CJ InContext Procedure Language CB.
  432. mcaem
  433.  Help information about: Action Editing: Macro Action Definitions
  434.  
  435.  
  436.               E╔════════════════════════════════════════════════╗
  437.               E║            CMacro Action DefinitionsE            ║
  438.               E╚════════════════════════════════════════════════╝
  439.  
  440.  
  441.    CMacrosB are really a very simple idea, but they can greatly increase the
  442.    power of even a simple programming language.  Basically, a macro consists
  443.    of a name and a definition.  Whenever the name appears in a procedure, the
  444.    entire definition of the macro is substituted for the name.  This allows
  445.    a rather complicated set of commands to be written once, stored in one
  446.    place, and used as needed, perhaps in many procedures.  Since the set of
  447.    commands exists only in one place, changing it will cause all of the using
  448.    procedures to change in the same way.
  449.  
  450.    For example, it is likely that you will have many object classes whose
  451.    underlying file is an ordinary text file, editable by an ordinary text
  452.    editor.  By defining the macro "editText", and putting in the definition
  453.    whatever it takes to set up and run your text editor the way you like,
  454.    you can allow each of the classes to behave in exactly the same way, even
  455.    if you later change editors or choose to invoke your editor differently.
  456.  
  457.    To do this, you would cause the action list of each of the text classes
  458.    to have an "edit" action whose definition is simply an invocation of the
  459.    macro:
  460.         #editText
  461.  
  462.    To define the macro, you would select the F ADction B display, and
  463.    select the F ªEDdit B command from that display's command bar.  The following
  464.    menu would result.
  465.  
  466.     E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  467.     E█A                                                                 A  E█
  468.     E█A  G  Which action set do you want to edit?                        A  E█
  469.     E█A  E│ CABction definition for this class                           E │A  E█
  470.     E█A  E│ CCBommon actions applicable to all classes                   E │A  E█
  471.     E█A  E│ CGBrouped-object actions applicable to whole views or classesE │A  E█
  472.     E█A  E│ CMYBacro action definitions useable in all of the above       E │A  E█
  473.     E█A  E└─────────────────────────────────────────────────────────────┘A  E█
  474.     E█A                                                                 A  E█
  475.     E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  476.  
  477.    Selecting "CMacro action definitionsB" here produces an "action list" that
  478.    actually serves only to hold the macros.
  479.  
  480.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  481.            E█A                                                   A  E█
  482.            E█A  E───────────────────────────G  Action    E──────────A  E█
  483.            E█A  G  Editing Action Definition Macros        FªHDelpG  A  E█
  484.            E█A  E│B                                               E│A  E█
  485.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  486.            E█A  E│B  IDescriptB     IAction Macros                 B  E│A  E█
  487.            E█A  E│B  IeditTextB     IEdit text fileYI                B  E│A  E█
  488.            E█A  E│B  IprintTxtB     IPrint text file               B  E│A  E█
  489.            E█A  E│B  IrunProg B     IExecute program               B  E│A  E█
  490.            E█A  E│B  IviewTextB     IView text file                B  E│A  E█
  491.            E█A  E│B                                               E│A  E█
  492.            E█A                                                   A  E█
  493.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  494.  
  495.    By placing an entry here called "editText", we create a macro that will
  496.    be executed any time the "edit" action is selected for one of the text
  497.    classes.  An example of a possible definition for this macro, using the
  498.    BRIEF editor with a mouse menu driver, is shown below.  The actual
  499.    definition of this macro will depend on what program you use for editing
  500.    ordinary text files.  If you have no text editor, you may want to use the
  501.    InContext internal editor.  To do so, simply replace the entire macro
  502.    definition with the single line "!edit %f".
  503.  
  504.            E▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  505.            E█A                                                   A  E█
  506.            E█A  E───────────────────────────G  Action    E──────────A  E█
  507.            E█A  G  Editing Action Definition Macros        FªHDelpG  A  E█
  508.            E█A  E│B                                               E│A  E█
  509.            E█A  E│B EBrief NameB     EYour DescriptionB               E│A  E█
  510.            E█A  E│B  IDescriptB     IAction Macros                 B  E│A  E█
  511.            E█A  E│B  IeditTextB     IEdit text fileYI                B  E│A  E█
  512.            E█A  E│B  IprintTxtB     IPrint text file               B  E│A  E█
  513.            E█A  E│B  IrunProg B     IExecute program               B  E│A  E█
  514.            E█A  E│B  IviewTextB     IView text file                B  E│A  E█
  515.            E█A  E│B                                               E│A  E█
  516.            E█A                                                   A  E█
  517.            E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  518.  
  519.    At present, macros may not be nested.  That is, a macro may not itself
  520.    invoke another macro.
  521.  
  522.  
  523.  CSpecial InContext Macros
  524.  
  525.    Several special macros are used to control particular behaviors of
  526.    InContext:
  527.  
  528.         C  incEditB    The InContext internal editor is intended for
  529.                       handling only fairly small files, but it is relatively
  530.                       fast for small files.  If you wish to substitute your
  531.                       own preferred editor altogether, you should change the
  532.                       "editText" macro.  If you would like to substitute your
  533.                       own editor only for files over a certain size, however,
  534.                       you can define this macro to invoke your preferred
  535.                       editor.  This macro will be used only for editing a
  536.                       file that exceeds either available memory or the
  537.                       upper size limit defined in your configuration options.
  538.  
  539.         C  incPrintB   This macro can be used to specify a print
  540.                       procedure for use when you select the F PDrint B
  541.                       command.  In the absence of such a macro, printing
  542.                       is done by writing directly to the "prn:" standard
  543.                       printer output.  An example of such a procedure is
  544.                       the following, which substitutes the 4PRINT laser
  545.                       printer program:
  546.                            downld c:\fonts\lp085r16.usl 2
  547.                            4print %f -q -tab3 -h"%D  page $cn//%D  page $cn"
  548.  
  549.         C  incStartB   If this macro is present, it is executed during
  550.                       InContext initialization.  This allows you to cause
  551.                       the program to start out in the state you prefer.
  552.                       A common example would define the following procedure
  553.                       for incStart:
  554.                            !keyStuff "\@T"
  555.                       If this is done, InContext will automatically start
  556.                       out with today's tasks in the Work-in-Progress list.
  557.                       This is equivalent to your typing Alt-T, for the
  558.                       "Today" command.  Without this startup macro, InContext
  559.                       will start out with the same tasks active as at the end
  560.                       of the last session.
  561.  
  562.         C  incViewB    This macro can be used to over-ride the use of
  563.                       the InContext internal viewer for certain purposes,
  564.                       such as viewing files in an LHA archive.  For
  565.                       example, to substitute Vern Buerg's LIST viewer for
  566.                       the InContext internal viewer, define an "incView"
  567.                       macro with the procedure
  568.                            list %f
  569.  
  570.  
  571.  COther Macros You May Want to Change
  572.  
  573.    These macros do not affect InContext in any special way, but they are
  574.    used by some of the class definitions distributed with InContext:
  575.  
  576.         C  editTextB   In the action lists distributed with InContext,
  577.                       this macro is used for all single-file editing
  578.                       operations.  You can substitute your own editor for
  579.                       the InContext internal editor by redefining this
  580.                       macro.
  581.  
  582.         C  printTxtB   In the action lists distributed with InContext,
  583.                       this macro is used for all ASCII-file printing
  584.                       operations.  You can substitute your own print
  585.                       program by redefining this macro.
  586.  
  587.         C  viewTextB   In the action lists distributed with InContext,
  588.                       this macro is used for all single-file viewing
  589.                       operations.  You can substitute your own viewer for
  590.                       the InContext internal viewer by redefining this
  591.                       macro.  This will not affect calendar viewing (which
  592.                       must use the internal viewer), or viewing of files
  593.                       inside an LHA archive (see "incView", above).
  594.